xl: Suppress spurious warning message for cpupool-list
authorGeorge Dunlap <george.dunlap@eu.citrix.com>
Fri, 23 Nov 2012 11:06:14 +0000 (11:06 +0000)
committerGeorge Dunlap <george.dunlap@eu.citrix.com>
Fri, 23 Nov 2012 11:06:14 +0000 (11:06 +0000)
libxl_cpupool_list() enumerates the cpupools by "probing": calling
cpupool_info, starting at 0 and stopping when it gets an error. However,
cpupool_info will print an error when the call to xc_cpupool_getinfo() fails,
resulting in every xl command that uses libxl_list_cpupool (such as
cpupool-list) printing that error message spuriously.

Since at the moment the times we want to print the message correspond
with the use of the existing "exact" parameter, use it to decide
whether to print the message or not.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxl/libxl.c

index acb240a1a38bf41685e52bb29677ce9ce0e07ec9..de75ee0f2593d37732527fd6fd11e4883e738f56 100644 (file)
@@ -593,7 +593,8 @@ static int cpupool_info(libxl__gc *gc,
     xcinfo = xc_cpupool_getinfo(CTX->xch, poolid);
     if (xcinfo == NULL)
     {
-        LOGE(ERROR, "failed to get info for cpupool%d\n", poolid);
+        if (exact || errno != ENOENT)
+            LOGE(ERROR, "failed to get info for cpupool%d\n", poolid);
         return ERROR_FAIL;
     }